$.fn.dataTableExt.oApi.fnReloadAjax = function ( oSettings, sNewSource, fnCallback, bStandingRedraw )
			{
				if ( typeof sNewSource != 'undefined' && sNewSource != null )
				{
					oSettings.sAjaxSource = sNewSource;
				}
				this.oApi._fnProcessingDisplay( oSettings, true );
				var that = this;
				var iStart = oSettings._iDisplayStart;
				
				oSettings.fnServerData( oSettings.sAjaxSource, null, function(json) {
					/* Clear the old information from the table */
					that.oApi._fnClearTable( oSettings );
					
					/* Got the data - add it to the table */
					for ( var i=0 ; i<json.aaData.length ; i++ )
					{
						that.oApi._fnAddData( oSettings, json.aaData[i] );
					}
					
					oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
					that.fnDraw( that );
					
					if ( typeof bStandingRedraw != 'undefined' && bStandingRedraw === true )
					{
						oSettings._iDisplayStart = iStart;
						that.fnDraw( false );
					}
					
					that.oApi._fnProcessingDisplay( oSettings, false );
					
					/* Callback user function - for event handlers etc */
					if ( typeof fnCallback == 'function' && fnCallback != null )
					{
						fnCallback( oSettings );
					}
				} );
			}